home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / t_os / medit / medit.asm next >
Assembly Source File  |  1991-10-18  |  2KB  |  80 lines

  1. ;       F-BASIC386 Memory Editor Subloutine
  2. ;
  3. ;file name: MEDIT.REX
  4. ;asm:       386|ASM
  5. ;copy:      free
  6. ;copyright: でんちゃん♪    DW0001 電脳わ~るど
  7. ;date:      Fri, 30 Aug. 1991 Ver1.10
  8.  
  9.  
  10.         .386p
  11. CODE    segment dword public ER use32 'CODE'
  12.         assume  cs:CODE
  13.  
  14. ;       <<  Memory block read  >>
  15. ;                               CALLM(0,segment,offset,buffer_address)
  16. read    proc    near
  17.         push    esi
  18.         push    edi
  19.         mov     ebx,12[esp]
  20.         mov     esi,16[esp]
  21.         mov     edi,20[esp]
  22.         add     edi,252
  23.         mov     ds,bx
  24.         mov     ecx,64      ;       memory push
  25.         cld
  26. #loop1:
  27.         lodsd
  28.         push    eax
  29.         dec     ecx
  30.         jne     #loop1
  31.         mov     ax,0014h
  32.         mov     ds,ax
  33.         mov     ecx,64      ;       buffer pop
  34.         std
  35. #loop2:
  36.         pop     eax
  37.         stosd
  38.         dec     ecx
  39.         jne     #loop2
  40. ;
  41.         pop     edi
  42.         pop     esi
  43.         ret
  44. read    endp
  45.  
  46. ;       <<  Memory block write  >>
  47. ;                               CALLM(&h35,segment,offset,buffer_address)
  48. write   proc    near
  49.         push    esi
  50.         push    edi
  51.         mov     ebx,12[esp]
  52.         mov     esi,20[esp]
  53.         mov     edi,16[esp]
  54.         add     edi,252
  55.         mov     ecx,64      ; buffer push
  56.         cld
  57. #loop3:
  58.         lodsd
  59.         push    eax
  60.         dec     ecx
  61.         jne     #loop3
  62.         mov     ds,bx
  63.         mov     ecx,64      ; memory pop
  64.         std
  65. #loop4:
  66.         pop     eax
  67.         stosd
  68.         dec     ecx
  69.         jne     #loop4
  70. ;
  71.         mov     ax,0014h
  72.         mov     ds,ax
  73.         pop     edi
  74.         pop     esi
  75.         ret
  76. write   endp
  77.  
  78. CODE    ends
  79.         END
  80.